Mobile node, mobile communication system, and communication control program

ABSTRACT

In a state I, a link layer of a mobile host is connected to an access router and a default router is set to the access router such that data packets (P 1 ) and (P 2 ) reach the access router and are routed to a correspondent host. In states II and III, data packets (P 3 ) to (P 8 ) are not transmitted but are buffered. When the mobile host switches the default router from the access router to an access router upon reception of a router advertisement from the access router, processing moves to a state IV and the buffered data packets (P 3 ) to (P 8 ) are transmitted. Since the link layer of the mobile host is connected to the access router and the default router is set to the access router, the data packets (P 3 ) to (P 8 ) reach the access router and are routed to the correspondent host.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a mobile node, a mobilecommunication system, and a communication control program.

[0003] 2. Related Background Art

[0004]FIG. 19 is a block diagram showing an example of a first mobilecommunication system in which a mobile node is a mobile host. In FIG.19, MH indicates a mobile host, HA indicates a home agent, AR indicatesan access router, and CH indicates a correspondent host. As shown inFIG. 19, a mobile communication system 101 comprises a mobile host 103,a home agent 105, a plurality of access routers 107, 109, acorrespondent host 111, and an IP network 113.

[0005] The home agent 105 provides the mobile host 103 with a home link.The access routers 107, 109 provide the mobile host 103 with wirelesslinks (to be referred to as “external links” hereinafter) other than thehome link. The correspondent host 111 performs communication with themobile host 103.

[0006] The mobile host 103 uses a home address on a home link, and on anexternal link uses the home address and a care-of address having a linkprefix for each external link. The mobile host 103 notifies the homeagent 105 of binding which states “home address of this node” and“care-of address obtained by connection link”, and the home agent 105stores this binding. When the home agent 105 receives a packet addressedto the home address of the mobile host 103, the home agent 105 createsan IP packet addressed to the bound care-of address, stores this packetin a payload portion, and forwards the packet to the mobile host 103.Having received the forwarded packet, the mobile host 103 extracts theoriginal packet from the payload portion. The internal packet isaddressed to the mobile host 103 and can therefore be received thereby.

[0007] Next, state transitions of a conventional mobile host during ahand-off in the mobile communication system 101 of the aforementionedconstitution will be described on the basis of FIG. 20. It is assumedhere that the mobile host 103 communicates with the correspondent host111 in a stationary network.

[0008] As shown in FIG. 20, the state transitions of the mobile host 103during a hand-off are divided into four.

[0009] State I: the link layer of the mobile host 103 is connected tothe access router 107. The care-of address of the mobile host 103 is setat CoA1, and a default router is set to the access router 107.

[0010] State II: the link layer of the mobile host 103 switchesconnection point from the access router 107 to the access router 109.The period during this connection point switching is known as a linklayer disconnection period. At this time, the care-of address of themobile host 103 is CoA1, and the default router is the access router107.

[0011] State III: the link layer of the mobile host 103 is connected tothe access router 109. At this time, the care-of address of the mobilehost 103 is still CoA1, and the default router is still the accessrouter 107. This state continues until the mobile host 103 receives arouter advertisement from the access router 109 and switches the defaultrouter from the access router 107 to the access router 109.

[0012] State IV: this is the state which follows reception of the routeradvertisement from the access router 109, alteration of the care-ofaddress of the mobile host 103 to CoA2, and switching of the defaultrouter from the access router 107 to the access router 109. At thistime, the link layer connection point and the default router are boththe access router 109. The mobile host 103 notifies the home agent 105of binding for the home address and new care-of address CoA2 by means ofa binding update packet.

[0013] The link layer connection points, default routers, and care-ofaddresses in these states I to IV are summarized in Table 1. TABLE 1LINK LAYER CONNECTION DEFAULT STATE POINT ROUTER CARE-OF ADDRESS I AR107AR107 CoA1 II NONE(BREAK) AR107 CoA1 III AR109 AR107 CoA1 IV AR109 AR109CoA2

[0014] As shown in FIG. 20, the state transitions of the home agent 105during a hand-off are divided into two.

[0015] State A: binding for the home address and care-of address CoA1 ofthe mobile host 103 is recorded in the home agent 105. The home agent105 transfers packets addressed to the mobile host 103 transmitted fromthe correspondent host 111 to the care-of address CoA1. This statecontinues until a binding update packet notifying the home address andnew care-of address CoA2 is received from the mobile host 103.

[0016] State B: binding for the home address and new care-of addressCoA2 of the mobile host 103 is recorded in the home agent 105. The homeagent 105 transfers packets addressed to the mobile host 103 transmittedfrom the correspondent host 111 to the new care-of address CoA2.

[0017] The bound care-of addresses in these states A and B aresummarized in Table 2. TABLE 2 BOUND CARE-OF STATE ADDRESS A CoA1 B CoA2

[0018]FIG. 21 is a block diagram showing an example of a second mobilecommunication system in which a mobile node is a mobile router. In FIG.21, SH is a stationary host, MR is a mobile router, HA is a home agent,AR is an access router, and CH is a correspondent host. As shown in FIG.21, a mobile communication system 201 comprises a mobile router 203, astationary host 205, the home agent 105, the plurality of access routers107, 109, the correspondent host 111, the IP network 113, and a mobilenetwork 207.

[0019] The home agent 105 provides the mobile router 203 with a homelink. The access routers 107, 109 provide the mobile router 203 withexternal links other than the home link. The mobile network 207 moveswhile maintaining the connection relationship between its internal nodes(the mobile router 203 and the stationary host 205). The correspondenthost 111 performs communication with the nodes on the mobile network207.

[0020] The mobile router 203, which is a gateway router for the mobilenetwork 207, uses a home address on a home link, and on an external linkuses the home address and a care-of address having a link prefix foreach link. The mobile router 203 notifies the home agent 105 of bindingwhich states “home address of this node and network prefixes withinmobile network 207” and “care-of address obtained by connection link”.The home agent 105 stores the binding received from the mobile router203. When the home agent 105 receives a packet addressed to the homeaddress of the mobile router 203 or a packet addressed to an addressbelonging to a network prefix in the mobile network 207, the home agent105 creates an IP packet addressed to the bound care-of address, storesthis packet in a payload portion, and forwards the packet to the mobilerouter 203. Having received this forwarded packet, the mobile router 203extracts the original packet from the payload portion, and if addressedto another host within the mobile network 207 (the stationary host 205),the mobile router 203 routes the packet within the mobile network 207.

[0021] Next, state transitions of a conventional mobile router during ahand-off in the mobile communication system 201 of the aforementionedconstitution will be described on the basis of FIG. 22. It is assumedhere that the stationary host 205 within the mobile network 207communicates with the correspondent host 111.

[0022] As shown in FIG. 22, the state transitions of the mobile router203 during a hand-off are divided into four.

[0023] State I: the link layer of the mobile router 203 is connected tothe access router 107. The care-of address of the mobile router 203 isset at CoA1, and a default router is set as the access router 107.

[0024] State II: the link layer of the mobile router 203 switchesconnection point from the access router 107 to the access router 109.The period during this connection point switching is known as a linklayer disconnection period. At this time, the care-of address of themobile router 203 is CoA1 and the default router is the access router107.

[0025] State III: the link layer of the mobile router 203 is connectedto the access router 109. At this time, the care-of address of themobile router 203 is still CoA1, and the default router is still theaccess router 107. This state continues until the mobile router 203receives a router advertisement from the access router 109 and switchesthe default router from the access router 107 to the access router 109.

[0026] State IV: this is the state which follows reception of the routeradvertisement from the access router 109, alteration of the care-ofaddress of the mobile router 203 to CoA2, and switching of the defaultrouter from the access router 107 to the access router 109. At thistime, the link layer connection point and the default router are boththe access router 109. The mobile router 203 notifies the home agent 105of binding for the home address and new care-of address CoA2 by means ofa binding update packet.

[0027] The link layer connection points, default routers, and care-ofaddresses in these states I to IV are summarized in Table 3. TABLE 3LINK LAYER DEFAULT STATE CONNECTION POINT ROUTER CARE-OF ADDRESS I AR107AR107 CoA1 II NONE(BREAK) AR107 CoA1 III AR109 AR107 CoA1 IV AR109 AR109CoA2

[0028] As shown in FIG. 22, the state transitions of the home agent 105during a hand-off are divided into two.

[0029] State A: binding for the home address of the mobile router 203,network prefixes within the mobile network 207, and care-of address CoA1is recorded in the home agent 105. The home agent 105 transfers packetsaddressed to the stationary host 205 in the mobile network 207,transmitted from the correspondent host 111 inside a stationary network,to the care-of address CoA1. This state continues until a binding updatepacket providing binding for the home address, network prefixes withinthe mobile network 207, and new care-of address CoA2 is received fromthe mobile router 203.

[0030] State B: the binding for the home address of the mobile router203, network prefixes within the mobile network 207, and new care-ofaddress CoA2 is recorded in the home agent 105. The home agent 105transfers packets addressed to the stationary host 205 within the mobilenetwork 207, transmitted from the correspondent host 111 within thestationary network, to the new care-of address CoA2.

[0031] The bound care-of addresses in these states A and B aresummarized in Table 4. TABLE 4 BOUND CARE-OF STATE ADDRESS A CoA1 B CoA2

[0032] Next, an example of the state transitions of a conventionalmobile host during a hand-off in a third mobile communication system inwhich the mobile node is a mobile host will be described on the basis ofFIG. 23. In FIG. 23, MH indicates a mobile host, AR indicates an accessrouter, and CH indicates a correspondent host.

[0033] It is assumed here that a mobile host 401 communicates with acorrespondent host 407 on a stationary network. As shown in FIG. 23, thestate transitions of the mobile host 401 during a hand-off are dividedinto four.

[0034] State I: the link layer of the mobile host 401 is connected tothe access router 403, and the default router is set to the accessrouter 403.

[0035] State II: the link layer of the mobile host 401 switchesconnection point from the access router 403 to the access router 405.The period during this connection point switching is known as a linklayer disconnection period. At this time, the default router is stillthe access router 403.

[0036] State III: the link layer of the mobile host 401 is connected tothe access router 405. At this time, the default router is still theaccess router 403. This state continues until the mobile host 401receives a router advertisement from the access router 405 and switchesthe default router from the access router 403 to the access router 405.

[0037] State IV: this is the state which follows reception of the routeradvertisement from the access router 405 and switching of the defaultrouter from the access router 403 to the access router 405. At thistime, the link layer connection point and the default router are boththe access router 405. The link layer connection points and defaultrouters in these states I to IV are summarized in Table 5. TABLE 5 LINKLAYER STATE CONNECTION POINT DEFAULT ROUTER I AR403 AR403 II NONE(BREAK)AR403 III AR405 AR403 IV AR405 AR405

[0038] Next, the state transitions of a conventional mobile routerduring a hand-off in a fourth mobile communication system in which themobile node is a mobile router will be described on the basis of FIG.24. In FIG. 24, SH indicates a stationary host, MR indicates a mobilerouter, AR indicates an access router, and CH indicates a correspondenthost.

[0039] It is assumed here that a stationary host 409 in a mobile networkcommunicates with the correspondent host 407. As shown in FIG. 24, thestate transitions of the mobile router 411 during a hand-off are dividedinto four.

[0040] State I: the link layer of the mobile router 411 is connected tothe access router 403, and the default router is set to the accessrouter 403.

[0041] State II: the link layer of the mobile router 411 switchesconnection point from the access router 403 to the access router 405.The period during this connection point switching is known as a linklayer disconnection period. At this time, the default router is stillthe access router 403.

[0042] State III: the link layer of the mobile router 411 is connectedto the access router 405. At this time, the default router is still theaccess router 403. This state continues until the mobile router 411receives a router advertisement from the access router 405 and switchesthe default router from the access router 403 to the access router 405.

[0043] State IV: this is the state which follows reception of the routeradvertisement from the access router 405 and switching of the defaultrouter from the access router 403 to the access router 405. At thistime, the link layer connection point and the default router are boththe access router 405. The link layer connection points and defaultrouters in these states I to IV are summarized in Table 6. TABLE 6 LINKLAYER STATE CONNECTION POINT DEFAULT ROUTER I AR403 AR403 II NONE(BREAK)AR403 III AR405 AR403 IV AR405 AR405

SUMMARY OF THE INVENTION

[0044] However, it has been found that the following problems exist inthe state transitions of a conventional mobile node during a hand-off asdescribed above.

[0045] First, a problem which arises when the mobile node is a mobilehost in the first mobile communication system will be described.

[0046] As shown in FIG. 20, packets P1 and P3 transmitted from thecorrespondent host ill to the mobile host 103 are normally transferredfrom the correspondent host 111 to the home agent 105 to the accessrouters 107, 109 to the mobile host 103 to thereby reach the mobile host103. During a hand-off of the mobile host 103, however, some packets donot reach the mobile host 103. For example, when the packet indicated byP2 in FIG. 20 reaches the home agent 105, the home agent 105 is in stateA, and thus the packet is transferred to the care-of address CoA1. Ifthe mobile host 103 has already reached state II or further when thispacket P2 is transmitted to the access router 107, the packet P2 doesnot reach the mobile host 103, and thus packet loss occurs.

[0047] A sequence occurring when the mobile host 103 hands off from theaccess router 107 to the access router 109 while in reception of datatransfer using TCP from the correspondent host 111 is shown in FIG. 25.In FIG. 25, the solid line arrows represent control packets used for thehand-off, and the broken line arrows represent TCP data segmentstransmitted to the mobile host 103 from the correspondent host 111 andTCP acknowledgement signals (TCP acks) transmitted from the mobile host103 to the correspondent host 111. States I to IV and states A and B inFIG. 25 correspond to the states I to IV and states A and B described inFIG. 20.

[0048] As shown in FIG. 25, the mobile host 103 does not stoptransmitting TCP acks until directly before state II, and thus thecorrespondent host 111, having received these TCP acks, continues totransmit TCP data segments. Hence, as shown in FIG. 25, at least two TCPdata segments P5 and P6 are lost in succession. When a plurality of TCPdata segments is subject to such successive packet loss, TCP throughputdeclines dramatically.

[0049]FIG. 26 shows a sequence occurring when the mobile host 103 handsoff from the access router 107 to the access router 109 during datatransfer using TCP from the mobile host 103 to the correspondent host111. The solid line arrows represent control packets used for thehand-off and the broken line arrows represent TCP data segmentstransmitted to the correspondent host 111 from the mobile host 103 andTCP acks transmitted from the correspondent host 111 to the mobile host103. States I to IV and states A and B in FIG. 26 correspond to thestates I to IV and states A and B described in FIG. 20.

[0050] As shown in FIG. 26, the mobile host 103 does not stoptransmitting TCP data segments until directly before state II, and thusthe correspondent host 111, having received these TCP data segments,continues to transmit TCP acks. Henceforth, as shown in FIG. 26, the TCPack P7 is lost and no TCP acks reach the mobile host 103 following thehand-off. In this case, the mobile host 103 is unable to obtain anopportunity to transmit the next TCP data segment, and thus the TCPthroughput declines dramatically.

[0051] Next, a problem which arises when the mobile node is a mobilerouter in the second mobile communication system will be described.

[0052] As shown in FIG. 22, packets P1 and P3 transmitted from thecorrespondent host 111 to the stationary host 205 are normallytransferred from the correspondent host 111 to the home agent 105 to theaccess routers 107, 109 to the mobile router 203 to the stationary host205 to thereby reach the stationary host 205. However, during a hand-offof the mobile router-203, some packets do not reach the stationary host205. For example, if the home agent 105 is in state A when the packetindicated by P2 in FIG. 22 reaches the home agent 105, the packet P2 istransferred to the care-of address CoA1. If the mobile router 203 hasalready reached state II or further when this packet P2 is routed toaccess router 107, the packet P2 does not reach the mobile router 203.Naturally, the packet P2 does not reach the stationary host 205 withinthe mobile network 207 and thus packet loss occurs.

[0053]FIG. 27 shows a sequence occurring when the mobile router 203hands off from the access router 107 to the access router 109 while thestationary host 205 in the mobile network 207 is in reception of datatransfer from the correspondent host 111 using TCP. In FIG. 27, thesolid line arrows represent control packets used for the hand-off andthe broken line arrows represent TCP data segments transmitted from thecorrespondent host 111 to the stationary host 205 and TCP ackstransmitted to the correspondent host 111 from the stationary host 205.States I to IV and states A and B in FIG. 27 correspond to the states Ito IV and states A and B described in FIG. 22.

[0054] As shown in FIG. 27, the mobile router 203 does not stop routingTCP acks until directly before state II, and thus the correspondent host111, having received these TCP acks, continues to transmit TCP datasegments. Henceforth, as shown in FIG. 27, at least two TCP datasegments P5 and P6 are lost in succession. When a plurality of TCP datasegments is subject to such successive packet loss, TCP throughputdeclines dramatically.

[0055] Meanwhile, FIG. 28 shows a sequence occurring when the mobilerouter 203 hands off from the access router 107 to the access router 109during the transfer of data from the stationary host 205 in the mobilenetwork 207 to the correspondent host 111 using TCP. In FIG. 28, thesolid line arrows represent control packets used for the hand-off andthe broken line arrows represent TCP data segments transmitted to thecorrespondent host 111 from the stationary host 205 and TCP ackstransmitted from the correspondent host 111 to the stationary host 205.States I to IV and states A and B in FIG. 28 correspond to the states Ito IV and states A and B described in FIG. 22.

[0056] As shown in FIG. 28, the mobile router 203 does not stop routingTCP data segments until directly before state II, and thus thecorrespondent host 111, having received these TCP data segments,transmits TCP acks. Then, as shown in FIG. 28, the TCP ack P7 is lostand no TCP acks reach the stationary host 205 following the hand-off bythe mobile router 203. In this case, the stationary host 205 is unableto obtain an opportunity to transmit a TCP data segment, and thus theTCP throughput declines dramatically.

[0057] Next, a problem arising in the state transitions of a mobile nodeduring a hand-off in the third mobile communication system in which themobile node is a mobile host will be described with reference to FIG.23. When the link layer connection point and the default router match(state I and state IV), packets transmitted from the mobile host 401 tothe correspondent host 407 are received in the access router which isset as the default router (access router 403 in state I and accessrouter 405 in state IV) and routed to the correspondent host 407 in thestationary network. The mobile host continues to transmit packetsaddressed to the correspondent host during state II and state III also.

[0058] In state II and state III, the default router is the accessrouter 403, and therefore the destination MAC (Media Access Control)address of these packets is the MAC address of the access router 403.However, since the connection between the link layer and the accessrouter 403 has already been severed, these packets do not reach theaccess router 403 and are not routed to the stationary network. Hencethe problem here is that packets transmitted to the correspondent host407 from the mobile host 401 in state II or state III do not reach thecorrespondent host 407, or in other words packet loss occurs.

[0059] Next, a problem arising in the fourth communication system inwhich the mobile node is a mobile router will be described withreference to FIG. 24. Only when the link layer connection point and thedefault router in the mobile router 411 match (state I and state IV),packets which are transmitted to the correspondent host 407 from thestationary host 409 and routed along the way by the mobile router 411are received in the access router which is set as the default router(access router 403 in state I and access router 405 in state IV) androuted to the correspondent host 407 inside the stationary network. TheIP layer of the mobile router 411 continues to route packets addressedto the correspondent host 407 transmitted by the stationary host 409 instate II and state III also.

[0060] In state II and state III, the default router is the accessrouter 403, and therefore the destination MAC address of these packetsis the MAC address of the access router 403. However, since theconnection between the link layer and the access router 403 has alreadybeen severed, these packets do not reach the access router 403 and arenot routed to the stationary network. Hence the problem here is thatpackets transmitted from the stationary host 409 to the correspondenthost 407 which are routed to the stationary network side by the mobilerouter 411 during state II and state III do not reach the correspondenthost 407, or in other words packet loss occurs.

[0061] Hence an object of the present invention is providing a mobilenode, mobile communication system, and communication control programwhich are capable of preventing the occurrence of packet loss during ahand-off period.

[0062] A mobile node according to the present invention is a mobile nodefor transmitting a packet comprising means for buffering the packetduring a hand-off period and transmitting the buffered packet when thishand-off is complete, wherein the means determines the period duringwhich the packet is buffered on the basis of the connection status ofthe link layer of the mobile node.

[0063] In the mobile node according to the present invention, packetwhich were to be transmitted during a hand-off period are bufferedrather than being transmitted during the hand-off period, and thebuffered packets are transmitted when the hand-off is complete. As aresult, packet loss occurring during a hand-off period can be prevented.

[0064] It is preferable that the period during which packets arebuffered by this means is a period from the beginning of a link layerdisconnection period, during which the link layer of the mobile node isnot connected to any external links in order to switch connectionpoints, to the time following the end of the link layer disconnectionperiod at which the access router providing the newly connected externallink becomes the default router. With such a constitution, the packetbuffering period can be set highly appropriately, whereby packet losscan be prevented with certainty.

[0065] It is also preferable that this means detects the beginning ofthe link layer disconnection period by a signal from an interface whichis connected to the external link, and that this means detects a changein the default router by a signal from the IP layer of the mobile node.With such a constitution, the packet buffering period can be detectedappropriately and easily.

[0066] It is also preferable that this means does not buffer a routersolicitation for requesting transmission of a router advertisement fromthe access router. If all packets are buffered, then the followingproblem arises. It is generally preferable that the mobile node, havingswitched connection links, receives a router advertisement as early aspossible in order to learn the default router on the newly connectedlink more quickly. Hence, the mobile node is capable of transmitting arouter solicitation to an access router directly after the end of linkconnection point alteration using a multicast addressed to all of therouters on a link. However, when all of the packets are buffered, therouter solicitation does not reach the access routers, and as a resultreception of the router advertisement in the mobile node is delayed. Ifrouter solicitations are not buffered, then a router solicitationtransmitted by the mobile node reaches the access routers and the mobilenode is able to receive a router advertisement more quickly.

[0067] It is also preferable for the mobile node to receive a TCP datasegment and transmit a TCP acknowledgement signal corresponding to thisTCP data segment, and for the means to buffer the TCP acknowledgementsignal during the hand-off period and transmit the buffered TCPacknowledgement signal when the hand-off is complete.

[0068] In this mobile node, TCP acknowledgement signals which were to betransmitted during the hand-off period are buffered during the hand-offperiod rather than being transmitted. The buffered TCP acknowledgementsignals are transmitted when the hand-off is complete. Thus, since TCPacknowledgement signals are not transmitted during the hand-off period,no new TCP data segments are transmitted to the mobile node and no TCPdata segments become subject to packet loss. When the TCPacknowledgement signals are transmitted following the hand-off period,new TCP data segments are transmitted to the mobile node. During theperiod in which the TCP acknowledgement signals are buffered, datatransfer using TCP is halted, but this period equals the amount of timetaken for the hand-off (approximately 100 ms or less). On the otherhand, the period during which data transfer is halted due to successiveTCP data segment loss equals the amount of time taken for a TCPretransmit timer to expire (equivalent to “Tr” in FIGS. 25 to 28, and atleast one second, for example). Thus TCP throughput deterioration due toTCP acknowledgement signal buffering is smaller than TCP throughputdeterioration due to successive TCP data segment loss. As a result, adramatic deterioration in TCP throughput during the hand-off of themobile node can be prevented.

[0069] It is also preferable that the period during which TCPacknowledgement signals are buffered by the means is a period from apredetermined time before the beginning of a link layer disconnectionperiod, during which the link layer of the mobile node is not connectedto any external links in order to switch connection points, to the timefollowing the end of the link layer disconnection period at which theaccess router providing the newly connected external link becomes thedefault router. With such a constitution, the TCP acknowledgement signalbuffering period can be set highly appropriately such that a dramaticdeterioration in TCP throughput can be further prevented.

[0070] It is also preferable that the means detects the predeterminedtime before the beginning of the link layer disconnection period by asignal from an interface which is connected to the external link, andthat the means detects a change in the default router by a signal fromthe IP layer of the mobile node. With such a constitution, a TCPacknowledgement signal buffering period can be detected appropriatelyand easily.

[0071] It is further preferable that the means performs TCPacknowledgement signal buffering upon each TCP connection, and thatwhen, upon each TCP connection, a newly buffered TCP acknowledgementsignal corresponds to a TCP data segment with a larger sequence numberthan a currently buffered TCP acknowledgement signal, the currentlybuffered TCP acknowledgement signal is replaced by the newly bufferedTCP acknowledgement signal. With such a constitution, the space requiredfor buffering TCP acknowledgement signals can be economized.

[0072] A mobile node may also transmit a TCP data segment, and the meansmay buffer the TCP data segment during the hand-off period and transmitthe buffered TCP data segment when the hand-off is complete.

[0073] In this mobile node, TCP data segments which were to betransmitted during the hand-off period are not transmitted during thehand-off period but are buffered. The buffered TCP data segments aretransmitted when the hand-off is complete. Thus, since TCP data segmentsare not transmitted during the hand-off period, no corresponding TCPacknowledgement signals are transmitted to the mobile node and no TCPacknowledgement signals become subject to packet loss. When the TCP datasegments are transmitted following the hand-off period, TCPacknowledgement signals corresponding to the transmitted TCP datasegments are transmitted to the mobile node. During the period in whichthe TCP data segments are buffered, data transfer using TCP is halted,but this period equals the amount of time taken for the hand-off(approximately 100 ms or less). On the other hand, the period in whichdata transfer is halted due to the inability to obtain an opportunity totransmit a TCP data segment equals the amount of time taken for a TCPretransmit timer to expire (equivalent to “Tr” in FIGS. 25 to 28, and atleast one second, for example). Thus TCP throughput deterioration due toTCP data segment buffering is smaller than TCP throughput deteriorationdue to the inability to obtain an opportunity to transmit a TCP datasegment. Hence a dramatic deterioration in TCP throughput during thehand-off of the mobile node can be prevented.

[0074] It is also preferable for the period during which the TCP datasegments are buffered by the means to be a period from a predeterminedtime before the beginning of a link layer disconnection period, duringwhich the link layer of the mobile node is not connected to any externallinks in order to switch connection points, to the time following theend of the link layer disconnection period at which the access routerproviding the newly connected external link becomes the default router.With such a constitution, the TCP data segment buffering period can beset highly appropriately and a dramatic deterioration in TCP throughputcan be further prevented.

[0075] It is further preferable that the means detects the predeterminedtime before the beginning of the link layer disconnection period by asignal from an interface which is connected to the external link, andthat the means detects a change in the default router by a signal fromthe IP layer of the mobile node. With such a constitution, the TCP datasegment buffering period can be detected appropriately and easily.

[0076] Meanwhile, a mobile communication system according to the presentinvention comprises a mobile node for transmitting a packet and aplurality of access routers for providing the mobile node with externallinks, wherein the mobile node comprises means for buffering this packetduring a hand-off period and transmitting the buffered packet to theaccess router providing the newly connected external link when thehand-off is complete, and the means determines the period during whichthe packet is buffered on the basis of the connection status of the linklayer of the mobile node.

[0077] In the mobile node of the mobile communication system accordingto the present invention, packets which were to be transmitted during ahand-off period are not transmitted during the hand-off period but arebuffered. When the hand-off is complete, the buffered packets aretransmitted to the access router providing the newly connected externallink. As a result, packet loss occurring during a hand-off period can beprevented.

[0078] It is preferable that the period during which the packets arebuffered by the means is a period from the beginning of a link layerdisconnection period during which the link layer of the mobile node isnot connected to any external links in order to switch connection pointsto the time following the end of the link layer disconnection period atwhich the access router providing the newly connected external linkbecomes the default router. With such a constitution, the packetbuffering period can be set highly appropriately and packet loss can beprevented with certainty.

[0079] It is also preferable that the means detects the beginning of alink layer disconnection period by a signal from an interface which isconnected to the external link, and that the means detects a change inthe default router by a signal from the IP layer of the mobile node.With such a constitution, the packet buffering period can be detectedappropriately and easily.

[0080] It is further preferable that the means does not buffer a routersolicitation for requesting transmission of a router advertisement fromthe access router. With such a constitution, a router solicitationtransmitted by the mobile node reaches an access router, and thus themobile node can receive a router advertisement more quickly.

[0081] The mobile node may also receive a TCP data segment transmittedfrom the access router and transmit to the access router a TCPacknowledgement signal corresponding to the TCP data segment, and themeans of the mobile node may buffer the TCP acknowledgement signalduring the hand-off period and transmit the buffered TCP acknowledgementsignal to the access router providing the newly connected external linkwhen the hand-off is complete.

[0082] In this mobile communication system, TCP acknowledgement signalswhich were to be transmitted during the hand-off period are nottransmitted during the hand-off period but are buffered. The bufferedTCP acknowledgement signals are transmitted to the access routerproviding the newly connected external link when the hand-off iscomplete. Thus, since TCP acknowledgement signals are not transmittedduring the hand-off period, no new TCP data segments are transmitted tothe mobile node from the correspondent node and no TCP data segmentsbecome subject to packet loss. When the TCP acknowledgement signals aretransmitted to the access router following the hand-off period, new TCPdata segments are transmitted to the mobile node from the correspondentnode. During the period in which the TCP acknowledgement signals arebeing buffered, data transfer using TCP is halted, but this periodequals the amount of time taken for the hand-off (approximately 100 msor less). On the other hand, the time in which data transfer is halteddue to successive TCP data segment loss equals the amount of time takenfor a TCP retransmit timer to expire (equivalent to “Tr” in FIGS. 25 to28, and at least one second, for example). Thus TCP throughputdeterioration due to TCP acknowledgement signal buffering is smallerthan TCP throughput deterioration due to successive TCP data segmentloss. Hence a dramatic deterioration in TCP throughput during thehand-off of the mobile node can be prevented.

[0083] It is preferable that the period during which the TCPacknowledgement signals are buffered by the means is a period from apredetermined time before the beginning of a link layer disconnectionperiod, during which the link layer of the mobile node is not connectedto any external links in order to switch connection points, to the timefollowing the end of the link layer disconnection period at which theaccess router providing the newly connected external link becomes thedefault router. With such a constitution, the TCP acknowledgement signalbuffering period can be set highly appropriately and a deterioration inTCP throughput can be further prevented.

[0084] It is also preferable for the means to detect the predeterminedtime before the beginning of a link layer disconnection period by meansof a signal from an interface which is connected to the external link,and for the means to detect a change in the default router by means of asignal from the IP layer of the mobile node. With such a constitution, aTCP acknowledgement signal buffering period can be detectedappropriately and easily.

[0085] It is further preferable for the means to perform buffering of aTCP acknowledgement signal upon each TCP connection, and when, upon eachTCP connection, a newly buffered TCP acknowledgement signal correspondsto a TCP data segment with a larger sequence number than the currentlybuffered TCP acknowledgement signal, it is preferable for the currentlybuffered TCP acknowledgement signal to be replaced by the newly bufferedTCP acknowledgement signal With such a constitution, the space requiredfor buffering TCP acknowledgement signals can be economized.

[0086] The mobile node may also transmit a TCP data segment, and themeans may buffer this TCP data segment during the hand-off period andtransmit the buffered TCP data segment to the access router providingthe newly connected external link when the hand-off is complete.

[0087] In this mobile communication system, TCP data segments which wereto be transmitted during the hand-off period are not transmitted duringthe hand-off period but are buffered. The buffered TCP data segments aretransmitted to the access router providing the newly connected externallink when the hand-off is complete. Thus, since TCP data segments arenot transmitted during the hand-off period, no corresponding TCPacknowledgement signals are transmitted to the mobile node from thecorrespondent node and no TCP acknowledgement signals become subject topacket loss. When the TCP data segments are transmitted following thehand-off period, TCP acknowledgement signals corresponding to thetransmitted TCP data segments are transmitted to the mobile node fromthe correspondent node. During the period in which the TCP data segmentsare buffered, data transfer using TCP is halted, but this period equalsthe amount of time taken for the hand-off (approximately 100 ms orless). On the other hand, the period in which data transfer is halteddue to the inability to obtain an opportunity to transmit a TCP datasegment equals the amount of time taken for a TCP retransmit timer toexpire (equivalent to “Tr” in FIGS. 25 to 28, and at least one second,for example). Thus TCP throughput deterioration due to TCP data segmentbuffering is smaller than TCP throughput deterioration due to theinability to obtain an opportunity to transmit a TCP data segment. Hencea dramatic deterioration in TCP throughput during the hand-off of themobile node can be prevented.

[0088] It is preferable that the period during which the TCP datasegments are buffered by the means is a period from a predetermined timebefore the beginning of a link layer disconnection period during whichthe link layer of the mobile node is not connected to any external linksin order to switch connection points to the time following the end ofthe link layer disconnection period at which the access router providingthe newly connected external link becomes the default router. With sucha constitution, the TCP data segment buffering period can be set highlyappropriately and a deterioration in TCP throughput can be furtherprevented.

[0089] It is also preferable that the means detects the predeterminedtime before the beginning of a link layer disconnection period by meansof a signal from an interface which is connected to the external link,and that the means detects a change in the default router by means of asignal from the IP layer of the mobile node. With such a constitution,the TCP data segment buffering period can be detected appropriately andeasily.

[0090] In order to transmit a packet, a communication control programaccording to the present invention causes a computer to function asmeans for buffering the packet during a hand-off period and transmittingthe buffered packet when the hand-off is complete, wherein the means iscaused to determine the period during which the packet is buffered onthe basis of the connection status of the link layer of the mobile node.

[0091] By having a computer function as this means in the communicationcontrol program according to the present invention, packets which wereto be transmitted during the hand-off period are not transmitted duringthe hand-off period but are buffered, and these buffered packets aretransmitted when the hand-off is complete. As a result, packet lossoccurring during a hand-off period can be prevented.

[0092] It is preferable that the period during which packets arebuffered by the means is a period from the beginning of a link layerdisconnection period during which the link layer of the mobile node isnot connected to any external links in order to switch connection pointsto the time following the end of the link layer disconnection period atwhich the access router providing the newly connected external linkbecomes the default router. With such a constitution, the packetbuffering period can be set highly appropriately, whereby packet losscan be prevented with certainty.

[0093] It is also preferable that the means is caused to detect thebeginning of the link layer disconnection period by a signal from aninterface which is connected to the external link, and is caused todetect a change in the default router by a signal from the IP layer ofthe mobile node. With such a constitution, the packet buffering periodcan be detected appropriately and easily.

[0094] It is further preferable that the means is caused not to buffer arouter solicitation for requesting transmission of a routeradvertisement from the access router. With such a constitution, a routersolicitation transmitted by the mobile node reaches an access router,and thus the mobile node is able to receive a router advertisement morequickly.

[0095] In this communication control program, in order to receive a TCPdata segment and transmit a TCP acknowledgement signal corresponding tothe TCP data segment, the computer may also be caused to function asmeans for buffering the TCP acknowledgement signal during the hand-offperiod and transmitting the buffered TCP acknowledgement signal when thehand-off is complete.

[0096] By having the computer function as this means, TCPacknowledgement signals which were to be transmitted during the hand-offperiod are not transmitted during the hand-off period but are buffered.The buffered TCP acknowledgement signals are transmitted when thehand-off is complete. Thus, since TCP acknowledgement signals are nottransmitted during a hand-off period, no new TCP data segments aretransmitted to the mobile node and no TCP data segments become subjectto packet loss. When the TCP acknowledgement signals are transmittedfollowing the hand-off period, new TCP data segments are transmitted tothe mobile node. During the period in which the TCP acknowledgementsignals are being buffered, data transfer using TCP is halted, but thisperiod equals the amount of time taken for the hand-off (approximately100 ms or less). On the other hand, the period in which data transfer ishalted due to successive TCP data segment loss equals the amount of timetaken for a TCP retransmit timer to expire (equivalent to “Tr” in FIGS.25 to 28, and at least one second, for example). Thus TCP throughputdeterioration due to TCP acknowledgement signal buffering is smallerthan TCP throughput deterioration due to successive TCP data segmentloss. Hence a dramatic deterioration in TCP throughput during a hand-offof the mobile node can be prevented.

[0097] It is preferable that the period during which TCP acknowledgementsignals are buffered by the means is a period from a predetermined timebefore the beginning of a link layer disconnection period during whichthe link layer of the mobile node is not connected to any external linksin order to switch connection points, to the time following the end ofthe link layer disconnection period at which the access router providingthe newly connected external link becomes the default router. With sucha constitution, the TCP acknowledgement signal buffering period can beset highly appropriately and a dramatic deterioration in TCP throughputcan be further prevented.

[0098] It is also preferable that the means is caused to detect thebeginning of a link layer disconnection period by a signal from aninterface which is connected to the external link, and is caused todetect a change in the default router by a signal from the IP layer ofthe mobile node. With such a constitution, the TCP acknowledgementsignal buffering period can be detected appropriately and easily.

[0099] It is further preferable that the means is caused to performbuffering of the TCP acknowledgement signals upon each TCP connectionsuch that when, upon each TCP connection, a newly buffered TCPacknowledgement signal corresponds to a TCP data segment with a largersequence number than a currently buffered TCP acknowledgement signal,the currently buffered TCP acknowledgement signal is replaced by thenewly buffered TCP acknowledgement signal. With such a constitution, thespace required for buffering TCP acknowledgement signals can beeconomized.

[0100] In order to transmit a TCP data segment, this communicationcontrol program may also cause the computer to function as means forbuffering the TCP data segment during the hand-off period andtransmitting the buffered TCP data segment when the hand-off iscomplete.

[0101] By having the computer function as this means in thiscommunication control program, TCP data segments which were to bebuffered during the hand-off period are not transmitted during thehand-off period but are buffered. The buffered TCP data segments aretransmitted when the hand-off is complete. Thus, since TCP data segmentsare not transmitted during the hand-off period, no corresponding TCPacknowledgement signals are transmitted to the mobile node and no TCPacknowledgement signals become subject to packet loss. When the TCP datasegments are transmitted following the hand-off period, TCPacknowledgement signals corresponding to the transmitted TCP datasegments are transmitted to the mobile node. During the period in whichthe TCP data segments are buffered, data transfer using TCP is halted,but this period equals the amount of time taken for the hand-off(approximately 100 ms or less). On the other hand, the period in whichdata transfer is halted due to the inability to obtain an opportunity totransmit a TCP data segment equals the amount of time taken for a TCPretransmit timer to expire (equivalent to “Tr” in FIGS. 25 to 28, and atleast one second, for example). Thus TCP throughput deterioration due toTCP data segment buffering is smaller than TCP throughput deteriorationdue to the inability to obtain an opportunity to transmit a TCP datasegment. Hence a dramatic deterioration in TCP throughput during thehand-off of the mobile node can be prevented.

[0102] It is preferable that the period during which TCP data segmentsare buffered by the means is a period from a predetermined time beforethe beginning of a link layer disconnection period during which the linklayer of the mobile node is not connected to any external links in orderto switch connection points, to the time following the end of the linklayer disconnection period at which the access router providing thenewly connected external link becomes the default router. With such aconstitution, the TCP data segment buffering period can be set highlyappropriately, and thus a dramatic deterioration in TCP throughput canbe further prevented.

[0103] It is also preferable that the means is caused to detect thepredetermined time prior to the beginning of a link layer disconnectionperiod by a signal from an interface which is connected to the externallink, and is caused to detect a change in the default router by a signalfrom the IP layer of the mobile node. With such a constitution, the TCPdata segment buffering period may be detected appropriately and easily.

[0104] The present invention will become more fully understood from thedetailed description given hereinbelow and the accompanying drawingswhich are given by way of illustration only, and thus are not to beconsidered as limiting the present invention.

[0105] Further scope of applicability of the present invention willbecome apparent from the detailed description given hereinafter.However, it should be understood that the detailed description andspecific examples, while indicating preferred embodiments of theinvention, are given by way of illustration only, since various changesand modifications within the spirit and scope of the invention willbecome apparent to those skilled in the art from this detaileddescription.

BRIEF DESCRIPTION OF THE DRAWINGS

[0106]FIG. 1 is a view showing a constitution of a mobile communicationsystem according to a first embodiment;

[0107]FIG. 2 is a view showing a constitution of a mobile host;

[0108]FIG. 3 is a sequence chart for a case in which the mobile hosthands off during communication with a correspondent host;

[0109]FIG. 4 is a view showing a constitution of a mobile communicationsystem according to a second embodiment;

[0110]FIG. 5 is a view showing a constitution of a mobile router;

[0111]FIG. 6 is a sequence chart for a case in which the mobile routerhands off during communication with a correspondent host;

[0112]FIG. 7 is a view showing a constitution of a mobile communicationsystem according to a third embodiment;

[0113]FIG. 8 is a view showing a constitution of a mobile host;

[0114]FIG. 9 is a sequence chart for a case in which the mobile hosthands off during reception of data transfer using TCP from acorrespondent host;

[0115]FIG. 10 is a view showing a constitution of a mobile host in amobile communication system according to a fourth embodiment;

[0116]FIG. 11 is a sequence chart for a case in which the mobile hosthands off during the transfer of data using TCP to a correspondent host;

[0117]FIG. 12 is a view showing a constitution of a mobile communicationsystem according to a fifth embodiment;

[0118]FIG. 13 is a view showing a constitution of a mobile router;

[0119]FIG. 14 is a sequence chart for a case in which the mobile routerhands off while a stationary host in a mobile network receives datatransfer using TCP from a correspondent host;

[0120]FIG. 15 is a view showing a constitution of a mobile router in amobile communication system according to a sixth embodiment;

[0121]FIG. 16 is a sequence chart for a case in which the mobile routerhands off while a stationary host in a mobile network performs datatransfer using TCP to a correspondent host;

[0122]FIG. 17 is a view showing a constitution of a storage medium;

[0123]FIG. 18 is a view showing a constitution of a storage medium;

[0124]FIG. 19 is a block diagram showing an example of a conventionalmobile communication system;

[0125]FIG. 20 is a sequence chart showing state transitions during ahand-off by a conventional mobile host;

[0126]FIG. 21 is a block diagram showing an example of a conventionalmobile communication system;

[0127]FIG. 22 is a sequence chart showing state transitions during ahand-off by a conventional mobile router;

[0128]FIG. 23 is a sequence chart showing state transitions of aconventional mobile host during a hand-off;

[0129]FIG. 24 is a sequence chart showing state transitions of aconventional mobile router during a hand-off;

[0130]FIG. 25 is a sequence chart of a hand-off by the conventionalmobile host during reception of data transfer from a correspondent hostusing TCP;

[0131]FIG. 26 is a sequence chart of a hand-off by a conventional mobilehost during the transfer of data using TCP to a correspondent host;

[0132]FIG. 27 is a sequence chart of a hand-off performed by aconventional mobile router while data transfer using TCP is received bya stationary host in a mobile network from a correspondent host; and

[0133]FIG. 28 is a sequence chart of a hand-off performed by aconventional mobile router while data transfer using TCP is performedfrom a stationary host in a mobile network to a correspondent host.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0134] (First Embodiment)

[0135]FIG. 1 is a view showing a constitution of a mobile communicationsystem according to a first embodiment. In FIG. 1, MH indicates a mobilehost, HA indicates a home agent, AR indicates an access router, and CHindicates a correspondent host.

[0136] As shown in FIG. 1, a mobile communication system 1 comprises amobile host 3, a home agent 5, a plurality of access routers 7, 9, acorrespondent host 11, and an IP network 13.

[0137] The mobile host 3 is a node which communicates with thecorrespondent host 11 while moving from link to link. The access routers7, 9 are routers for providing external links (wireless links) to whichthe mobile host 3 can connect. The home agent 5 is a router capable oftransferring packets addressed to the mobile host 3 to a link at whichthe mobile host 3 is located (an external link provided by an accessrouter or the like) using the IP mobility control system Mobile IPv6(Internet Protocol version 6). The correspondent host 11 is a node whichcommunicates with the mobile host 3.

[0138] Note that a node is a device for transmitting and receivingpackets corresponding to IPv6, and a link is a communication path fortransmitting a packet transmitted from a node to another node by meansof a wired transmission system or a wireless transmission system. Linkscomprise home links and external links. A home link is a link belongingto the mobile host 3, and an external link is a link other than a homelink. The mobile host 3 is allocated a home address from a home link andallocated a care-of address from an external link.

[0139]FIG. 2 is a view showing a constitution of the mobile host 3. Themobile host 3 is provided with an application layer 31 comprising anapplication 31 a, a transport layer 33 comprising a TCP (TransmissionControl Protocol) and UDP (User Datagram Protocol) 33 a (to be referredto as “TCP/UDP” hereinafter) and a buffering space 33 b, an IP layer 35comprising an IP (Internet Protocol) 35 a, and a link layer 37comprising a link 37 a and an interface 37 b.

[0140] In the mobile host 3, data to be transmitted from the application31 a to another host are transmitted from the interface 37 b via theTCP/UDP 33 a, the IP 35 a, and the link 37 a. Conversely, datatransmitted from another host reach the application 31 a via theinterface 37 b, the link 37 a, the IP 35 a, and the TCP/UDP 33 a.

[0141] The buffering space 33 b is used for buffering a packet during ahand-off period. The TCP/UDP 33 a buffers the packet into the bufferingspace 33 b. The packet buffering period is a period required forswitching connection points which extends from the beginning of a linklayer 37 disconnection period, during which the link layer 37 of themobile host 3 is not connected to any external links, to the point atwhich an access router providing a newly connected external link isswitched to a default router following the end of the link layer 37disconnection period. Here, the TCP/UDP 33 a detects the beginning ofthe link layer 37 disconnection period by means of a signal from theinterface 37 b, and detects the change of default router by means of asignal from the IP 35 a.

[0142] When the connection point is switched from the access router 7 tothe access router 9, the interface 37 b issues a buffering command tothe TCP/UDP 33 a. Thereby, the TCP/UDP 33 a detects the beginning of thelink layer 37 disconnection period. Having received the bufferingcommand, the TCP/UDP 33 a uses the buffering space 33 b to beginbuffering of the packets which were originally intended for transmissionto the IP 35 a.

[0143] Once the default router has been changed following a routeradvertisement received from the access router 9, the IP 35 a issues abuffering cancellation command to the TCP/UDP 33 a. Thereby, the TCP/UDP33 a detects that the default router has changed. Having received thebuffering cancellation command, the TCP/UDP 33 a cancels buffering andtransmits the packets that were buffered in the buffering space 33 b tothe IP 35 a. As noted above, the packets transferred to the IP 35 a aretransmitted via the link 37 a to the interface 37 b, and from theinterface 37 b to the access router 9 (set as the default router) whichprovides the newly connected external link.

[0144]FIG. 3 is a sequence chart for a case in which the mobile host 3which is in communication with the correspondent host 11 hands off fromthe access holder 7 to the access holder 9. The solid line arrowsrepresent control packets for executing a hand off at the IP layer levelusing Mobile IPv6, and the broken line arrows represent data packetstransmitted by the mobile host 3 to the correspondent host 11. States Ithrough IV in FIG. 3 correspond to the states I through IV as describedin FIG. 23.

[0145] In state I, the link layer 37 of the mobile host 3 is connectedto the access router 7, and the default router is set to the accessrouter 7, and thus data packets (P1) and (P2) reach the access router 7and are routed to the correspondent host 11. Then, in state II and stateIII, data packets (P3) to (P8) are buffered and not transmitted.

[0146] When the mobile host 3 receives a router advertisement from theaccess router 9 and alters the default router from the access router 7to the access router 9, processing moves to state IV and the buffereddata packets (P3) to (P8) are transmitted. Since the link layer 37 ofthe mobile host 3 is connected to the access router 9 and the defaultrouter is set to the access router 9, the data packets (P3) to (P8) arerouted to the correspondent host 11 through the access router 9. Datapackets (P9) and (P10) are also routed to the correspondent host 11through the access router 9.

[0147] Note that when the mobile host 3 obtains a new care-of addressused for an external link, the mobile host 3 transmits a packetcontaining a binding update option to the home agent 5. Having receivedthe binding update packet, the home agent 5 stores the binding (thecorrespondence between the home address and care-of address of themobile host 3) and transmits a packet containing a bindingacknowledgement option to the mobile host 3 as a confirmation response.

[0148] In this first embodiment, it is assumed for the sake ofsimplicity that the mobile host 3 does not transmit a routersolicitation. This embodiment is of course applicable to a mobile host 3which transmits a router solicitation, but it is necessary to preventthe router solicitation from being buffered. If buffering is performedin the transport layer 33, as in the first embodiment, the routersolicitation is not buffered.

[0149] Buffering may also be performed in the IP layer 35, but in thiscase it is necessary to determine whether or not the packet subject tobuffering is a router solicitation by having the IP layer 35 analyze theIP header and below of the packet, and to exclude the packet frombuffering if the packet is a router solicitation. Specifically, analysisof the IP header and below of the packet involves the followingoperation. For each packet, the IP layer 35 checks the protocol numberstored in the next header field in each IP header comprising anextension header, and if the protocol number indicates 58 (icmp), the IPlayer 35 checks the field indicating the type of the icmp following theIP header. If the type number is 133 (a router solicitation), it isdetermined that the packet is a router solicitation.

[0150] Note that in this first embodiment, the packet buffering periodis set as a period from the beginning of the link layer 37 disconnectionperiod, during which the link layer 37 of the mobile host 3 is notconnected to any external links in order to switch connection points, tothe point at which the access router providing the newly connectedexternal link becomes the default router following the end of the linklayer 37 disconnection period. However, the packet buffering period isnot limited thereto, and may, for example, be set longer than thisperiod in consideration of the wireless link conditions and so on.

[0151] As described above, during a hand-off period in the firstembodiment, while packets cannot be transmitted to either of the accessrouters 7, 9 from the mobile host 3, the mobile host 3 buffers thepackets to be transmitted during the hand-off period, and transmits thebuffered packets when the packets become able to reach the hand-offdestination access router 9. As a result, all of the packets that wereto be transmitted by the mobile host 3 during the hand-off are routed tothe correspondent host 11 via the hand-off destination access router 9,and thus the occurrence of packet loss during a hand-off period can beprevented.

[0152] Also in the first embodiment, the period during which the mobilehost 3 buffers packets is set as a period from the beginning of the linklayer 37 disconnection period, during which the link layer 37 of themobile host 3 is not connected to any external links in order to switchconnection points, to the point at which the access router 9 providingthe newly connected external link becomes the default router followingthe end of the link layer 37 disconnection period. Hence the packetbuffering period can be set highly appropriately so that packet loss isprevented with certainty.

[0153] Also according to the first embodiment, the beginning of a linklayer 37 disconnection period is detected in the TCP/UDP 33 a by meansof a signal from the interface 37 b which is connected to the externallink, and a change in default router is detected in the TCP/UDP 33 a bymeans of a signal from the IP layer 35 of the mobile host 3. Thus thepacket buffering period can be detected appropriately and easily.

[0154] It should be noted that if all packets are buffered in the mobilehost 3 which transmits a router solicitation, the following problemarises. It is generally preferable that the mobile host 3 receives arouter advertisement as early as possible in order to learn the defaultrouter more quickly. Hence, the mobile host 3 is capable of transmittinga router solicitation to an access router directly after the end of linkconnection point alteration using a multicast addressed to all of therouters on a link. However, when all packets are buffered, the routersolicitation does not reach the access routers 9, and as a result,reception in the mobile host 3 of a router advertisement is delayed. Ifrouter solicitations are not buffered, then a router solicitationtransmitted by the mobile host 3 reaches the access routers 9 and themobile host 3 is able to receive a router advertisement more quickly.

[0155] (Second Embodiment)

[0156]FIG. 4 is a view showing the constitution of a mobilecommunication system according to a second embodiment. In FIG. 4, SHindicates a stationary host, MR indicates a mobile router, HA indicatesa home agent, AR indicates an access router, and CH indicates acorrespondent host.

[0157] As shown in FIG. 4, a mobile communication system 51 comprises amobile router 53, a stationary host 55, the home agent 5, the pluralityof access routers 7, 9, the correspondent host 11, and the IP network13.

[0158] The mobile router 53 moves from link to link with a mobilenetwork 57 comprising the stationary host 55, and functions as a gatewayrouter for the mobile network 57. The mobile router 53 uses a homeaddress on a home link, and on an external link uses the home addressand a care-of address having a link prefix for each link. The stationaryhost 55 is a node having an unchanging connection relationship with themobile router 55. Note that the mobile network 57 may also comprise arouter or a mobile host. The home agent 5 provides the mobile router 53with a home link, and the access routers provide the mobile router 53with external links.

[0159] The mobile router 53 informs the home agent 5 of bindingcomprising the home address of this node, the network prefixes withinthe mobile network 57, and a care-of address obtained by a connectionlink, and the home agent 5 stores this binding. Having received a packetaddressed to the home address of the mobile router 53 or to an addressbelonging to a network prefix in the mobile network 57, the home agent 5creates an IP packet addressed to the bound care-of address, stores thispacket in a payload portion, and forwards the packet to the mobilerouter 53. Having received the forwarded packet, the mobile router 53extracts the original packet from the payload portion, and if the packetis addressed to a host existing within the mobile network 57, routes thepacket within the mobile network 57.

[0160]FIG. 5 is a view showing the constitution of the mobile router.The mobile router is provided with an IP layer 71 comprising an IP 71 aand a buffering space 71 b, and a link layer 73 comprising a first link73 a, a second link 73 b, a mobile network side interface 73 c, and astationary network side interface 73 d.

[0161] Packets received from the mobile network side interface 73 c orthe stationary network side interface 73 d reach the IP 71 a through thefirst link 73 a and second link 73 b respectively. The IP 71 areferences a routing table to determine whether to transmit the packetsto the stationary network side (default router) or the mobile network 57side (stationary host 55), and transfers the packets to the second link73 b or the first link 73 a in accordance with the result of thisdetermination.

[0162] The buffering space 71 b is used for buffering packets during ahand-off period. The IP 71 a buffers packets into the buffering space 71b. The packet buffering period is set as a period from the beginning ofa link layer (second link 73 b and stationary network side interface 73d) disconnection period, during which the second link 73 b andstationary network side interface 73 d of the link layer 73 in themobile router 53 are not connected to any external links in order toswitch connection points, to the point at which the access router 9providing a newly connected external link becomes the default routerfollowing the end of the link layer (second link 73 b and stationarynetwork side interface 73 d) disconnection period. Here, the IP 71 adetects the beginning of the link layer (second link 73 b and stationarynetwork side interface 73 d) disconnection period by means of a signalfrom the stationary network side interface 73 d, and detects a change indefault router itself.

[0163] The stationary network side interface 73 d issues a bufferingcommand to the IP 71 a when the connection point is switched from theaccess router 7 to the access router 9. Thereby the IP 71 a detects thebeginning of a link layer (second link 73 b and stationary network sideinterface 73 d) disconnection period. Having received the bufferingcommand, the IP 71 a uses the buffering space 71 b to begin bufferingthe packets which were originally due to be transmitted to the secondlink 73 b.

[0164] Once the default router has been changed following a routeradvertisement received from the access router 9, the IP 71 a itselfdetects that the default router has changed and cancels buffering. TheIP 71 a then transmits the packets that were buffered in the bufferingspace 71 b to the second link 73 b. As noted above, the packetstransferred to the second link 73 b are transmitted from the stationarynetwork side interface 73 b to the access router 9 (set as the defaultrouter) providing the newly connected external link.

[0165]FIG. 6 is a sequence chart for a case in which the mobile router53 which is in communication with the correspondent host 11 hands offfrom the access router 7 to the access router 9. The solid line arrowsrepresent control packets for executing a hand off, and the broken linearrows represent data packets transmitted by the mobile router 53 to thecorrespondent host 11. States I through IV in FIG. 6 correspond to thestates I through IV to be described in FIG. 24.

[0166] In state I, the link layer 73 (second link 73 b and stationarynetwork side interface 73 d) of the mobile router 53 is connected to theaccess router 7, and the default router is set to the access router 7,and thus data packets (P1) and (P2) reach the access router 7 and arerouted to the correspondent host 11. Then, in state II and state III,data packets (P3) to (P8) are buffered rather than being transmitted.

[0167] When the mobile router 53 receives a router advertisement fromthe access router 9 and alters the default router from the access router7 to the access router 9, processing moves to state IV and the buffereddata packets (P3) to (P8) are transmitted. Since the link layer 73(second link 73 b and stationary network side interface 73 d) of themobile router 53 is connected to the access router 9 and the defaultrouter is set to the access router 9, the data packets (P3) to (P8) arerouted to the correspondent host 11 through the access router 9. Datapackets (P9) and (P10) are also routed to the correspondent host 11through the access router 9.

[0168] Note that when the mobile router 53 obtains a new care-of addressfor use on an external link, the mobile router 53 transmits a packetcontaining a binding update option to the home agent 5. Having receivedthe binding update packet, the home agent 5 stores the binding (thecorrespondence between the home address and care-of address of themobile router 53) and transmits a packet containing a bindingacknowledgement option to the mobile router 53 as a confirmationresponse.

[0169] In this second embodiment, it is assumed for the sake ofsimplicity that the mobile router 53 does not transmit a routersolicitation. This embodiment is of course applicable to a mobile router53 which transmits a router solicitation, but it is necessary to preventthe router solicitation from being buffered. When buffering is performedin the IP layer 71, a determination is made as to whether or not thepacket subject to buffering is a router solicitation by having the IPlayer 71 analyze the IP header and below of the packet, and if thepacket is a router solicitation, then the router solicitation must beexcluded from the buffering subjects. Analysis of the IP header andbelow of the packet specifically involves the following operation. Foreach packet, the IP layer 71 checks the protocol number stored in thenext header field in each IP header comprising an extension header, andwhen the protocol number indicates 58 (icmp), the IP layer 71 checks thefield indicating the type of the icmp following the IP header. If thetype number is 133 (a router solicitation), it is determined that thepacket is a router solicitation.

[0170] In this second embodiment, the packet buffering period is set asa period from the beginning of a link layer (second link 73 b andstationary network side interface 73 d) disconnection period, duringwhich the second link 73 b and stationary network side interface 73 d ofthe link layer 73 in the mobile router 53 are not connected to anyexternal links in order to switch connection points, to the time atwhich the access router 9 providing the newly connected external linkfollowing the end of the link layer (second link 73 b and stationarynetwork side interface, 73 d) disconnection period becomes the defaultrouter. However, the packet buffering period is not limited thereto, andmay, for example, be set longer than this period in consideration of thewireless link conditions and so on.

[0171] As described above, during a hand-off period in the secondembodiment, while packets cannot be transmitted to either of the accessrouters 7, 9 from the mobile router 53, the mobile router 53 buffers thepackets to be transmitted during the hand-off period and transmits thebuffered packets when the packets become able to reach the hand-offdestination access router 9. As a result, all of the packets that wereto be routed to the stationary network side by the mobile router 53during the hand-off are routed to the correspondent host 11 via thehand-off destination access router 9, and thus the occurrence of packetloss during a hand-off period can be prevented.

[0172] Further, in the second embodiment the packet buffering period bythe mobile router 53 is set as a period from the beginning of the linklayer (second link 73 b and stationary network side interface 73 d)disconnection period, during which the second link 73 b and stationarynetwork side interface 73 d of the link layer 73 in the mobile router 53are not connected to any external links in order to switch connectionpoints, to the time at which the access router 9 providing the newlyconnected external link following the end of the link layer (second link73 b and stationary network side interface 73 d) disconnection periodbecomes the default router. Hence the packet buffering period can be sethighly appropriately so that packet loss is prevented with certainty.

[0173] Also according to the second embodiment, the beginning of a linklayer (second link 73 b and stationary network side interface 73 d)disconnection period is detected in the IP 71 a by means of a signalfrom the stationary network side interface 73 d which is connected to anexternal link, and a change in default router is detected by the IP 71 aitself. Thus the packet buffering period can be detected appropriatelyand easily.

[0174] Note that it is preferable for a router solicitation not to bebuffered in the mobile router 53 which transmits router solicitations.In so doing, a router solicitation transmitted by the mobile router 53reaches the access routers 9, and as a result the mobile router 53 isable to receive a router advertisement more quickly.

[0175] (Third Embodiment)

[0176]FIG. 7 is a view showing a constitution of a mobile communicationsystem according to a third embodiment. In FIG. 7, MH indicates a mobilehost, HA indicates a home agent, AR indicates an access router, and CHindicates a correspondent host.

[0177] As shown in FIG. 7, a mobile communication system 301 comprises amobile host 303, a home agent 305, a plurality of access routers 307,309, a correspondent host 311, and an IP network 313.

[0178] The mobile host 303 is a node which communicates with thecorrespondent host 311 while moving from link to link. The accessrouters 307, 309 are routers for providing external links to which themobile host 303 can connect. The home agent 305 is a router capable oftransferring a packet addressed to the mobile host 303 to a link atwhich the mobile host 303 is located (an external link provided by anaccess router or the like) using the IP mobility control system MobileIPv6 (Internet Protocol version 6). The correspondent host 311 is a nodewhich communicates with the mobile host 303.

[0179] A node is a device for transmitting and receiving (includingrouting) packets corresponding to IPv6, and a link is a communicationpath for transmitting a packet transmitted from a node to another nodeby means of a wired transmission system or a wireless transmissionsystem. Links comprise home links and external links. A home link is alink belonging to the mobile host 303, and an external link is a linkother than a home link. The mobile host 303 is allocated a home addressfrom a home link and is allocated a care-of address from an externallink.

[0180] The mobile host 303 uses a home address on a home link and on anexternal link uses the home address and a care-of address having a linkprefix for each external link. The mobile host 303 informs the homeagent 305 of binding comprising “the home address of this node” and a“care-of address obtained by a connection link”, and the home agent 305stores this binding. Having received a packet addressed to the homeaddress of the mobile host 303, the home agent 305 creates an IP packetaddressed to the bound care-of address, stores this packet in a payloadportion, and forwards the packet to the mobile host 303. Having receivedthe forwarded packet, the mobile host 303 extracts the original packetfrom the payload portion. Since the internal packet is addressed to themobile host 303, this may be transmitted.

[0181]FIG. 8 is a view showing a constitution of the mobile host 303.The mobile host 303 is provided with an application layer 331 comprisingan application 331 a, a transport layer 333 comprising a TCP(Transmission Control Protocol) and UDP (User Datagram Protocol) 333 a(to be referred to as “TCP/UDP” hereinafter) and a TCP ack bufferingspace 333 b, an IP layer 335 comprising an IP (Internet Protocol) 335 a,and a link layer 337 comprising a link 337 a and an interface 337 b.

[0182] In the mobile host 303, data generated by the application 331 aare transmitted from the interface 337 b via the TCP/UDP 333 a, the IP335 a, and the link 337 a. Packets received from the interface 337 breach the application 331 a via the link 337 a, the IP 335 a, and theTCP/UDP 333 a.

[0183] The TCP ack buffering space 333 b is used for buffering TCP acksduring a hand-off period. The TCP/UDP 333 a buffers the TCP acks intothe TCP ack buffering space. The TCP ack buffering period is a periodwhich extends from a predetermined time (Tn) before the beginning of alink layer 337 disconnection period required for switching connectionpoints, when the link layer 337 of the mobile host 303 is not connectedto any external links, to the point at which the access router providingthe newly connected external link becomes the default router followingthe end of the link layer 337 disconnection period. Here, the TCP/UDP333 a detects the predetermined time (Tn) before the beginning of thelink layer 337 disconnection period by means of a signal from theinterface 337 b, and detects a change in default router by means of asignal from the IP 335 a. Here, the range of the predetermined time (Tn)begins from zero. Here, the predetermined time (Tn) is preferably setequal to or greater than the round trip time between the mobile host andthe correspondent host, or in other words the time in which a TCP datasegment newly transmitted by the correspondent host in response to thereception by the correspondent host of the last transmitted TCP ackprior to the beginning of buffering can be received via the currentlyconnected access router.

[0184] When the connection point is switched from the access router 307to the access router 309, the interface 337 b issues a buffering commandto the TCP/UDP 333 a. Thereby, the TCP/UDP 333 a detects thepredetermined time (Tn) before the beginning of the link layer 337disconnection period. Having received the buffering command, the TCP/UDP333 a uses the TCP ack buffering space 333 b to begin buffering the TCPacks which were originally intended for transmission to the IP 335 a.

[0185] Once the default router has been changed following a routeradvertisement received from the access router 309, the IP 335 a issues abuffering cancellation command to the TCP/UDP 333 a. Thereby, theTCP/UDP 333 a detects that the default router has changed. Havingreceived the buffering cancellation command, the TCP/UDP 333 a cancelsbuffering and transmits the TCP acks that were buffered in the TCP ackbuffering space 333 b to the IP 335 a. As noted above, the TCP ackstransferred to the IP 335 a are transmitted via the link 337 a to theinterface 337 b, and from the interface 337 b to the access router 309(set as the default router) which provides the newly connected externallink.

[0186]FIG. 9 is a sequence chart for a case in which the mobile host 303hands off from the access router 307 to the access router 309 duringreception of data transfer using TCP from the correspondent host 311.The broken line arrows represent TCP data segments transmitted to themobile host 303 by the correspondent host 311 and TCP acks transmittedto the correspondent host 311 by the mobile host 303. State I to stateIV and states A, B in FIG. 9 correspond to the states I to IV and statesA, B described in FIG. 20.

[0187] At a predetermined time (Tn) before moving from state I to stateII, the mobile host 303 buffers the TCP acks to be transmitted. Then,when the mobile host 303 receives a router advertisement from the accessrouter 309, thereby changing the default router from the access router307 to the access router 309 and obtaining a new care-of address,processing moves to state IV and the mobile host 303 transmits thebuffered TCP acks.

[0188] Note that when the mobile host 303 obtains a new care-of addressfor use on an external link, the mobile host 303 transmits a packetcontaining a binding update option to the home agent 305. Havingreceived the binding update packet, the home agent 305 stores thebinding (the correspondence between the home address and care-of addressof the mobile host 303) and transmits a packet containing a bindingacknowledgement option to the mobile host 303 as a confirmationresponse.

[0189] As described above, during a hand-off between the access routers307, 309 in this third embodiment, the mobile host 303 buffers the TCPacks that were to be transmitted during the hand-off period, and whenthe hand-off is complete, transmits the buffered TCP acks. In so doing,the correspondent host 311 becomes unable to receive TCP acks from themoving host 303 during the hand-off period. The correspondent host 311therefore withholds transmission of the next TCP data segment. If thecorrespondent host 311 does not transmit TCP data segments, thennaturally no TCP data segments become subject to packet loss during theTCP ack hand-off. Once the moving host 303 has completed the hand-off,the moving host 303 transmits the buffered TCP acks again, whereby theseTCP acks are received by the correspondent host 311. The correspondenthost 311 then restarts transmission of the next TCP data segment. Duringthe period in which the TCP acks are being buffered, data transfer bythe correspondent host 311 is halted, but this period equals the amountof time taken for the hand-off (approximately 100 ms or less). On theother hand, the period in which data transfer by the correspondent host311 is halted due to successive TCP data segment loss equals the amountof time taken for a TCP retransmit timer to expire (at least onesecond). Thus TCP throughput deterioration due to TCP ack buffering issmaller than TCP throughput deterioration due to successive TCP datasegment loss. Hence a dramatic deterioration in TCP throughput during ahand-off of the mobile host 303 can be prevented.

[0190] Also in the third embodiment, the period during which the mobilehost 303 buffers TCP acks is set as a period from a predetermined time(Tn) prior to the beginning of the link layer 337 disconnection period,during which the link layer 307 of the mobile host 303 is not connectedto any external links in order to switch connection points, to the pointat which the access router 309 providing the newly connected externallink following the end of the link layer 337 disconnection periodbecomes the default router. Hence the TCP ack buffering period can beset highly appropriately so that TCP acks are not buffered any more thanis necessary and TCP throughput deterioration can be further prevented.

[0191] Also according to the third embodiment, the predetermined time(Tn) before the beginning of the link layer 337 disconnection period isdetected in the transport layer 333 (TCP/UDP 333 a) by means of a signalfrom the interface 337 b which is connected to the external link, and achange in default router is detected therein by means of a signal fromthe IP layer 335 of the mobile host 303. Thus the TCP ack bufferingperiod can be detected appropriately and easily.

[0192] Note that when a TCP ack is buffered, TCP ack buffering isperformed for each TCP connection, and when, for each TCP connection, anewly buffered TCP ack corresponds to a TCP data segment with a largersequence number than the currently buffered TCP ack, the currentlybuffered TCP ack may be replaced by the newly buffered TCP ack. A TCPack informs the transmission side host of the largest TCP data segmentsequence number received up to that point by the reception side host,and therefore when two TCP acks have different sequence numbers, the TCPack for notifying the larger sequence number doubles as receptionconfirmation for the TCP data segments up to the smaller sequencenumber. In other words, by replacing a currently buffered TCP ack when alater TCP ack is to notify a larger sequence number than the currentlybuffered TCP ack, the TCP ack buffering space 333 b can be economized.

[0193] (Fourth Embodiment)

[0194] The constitution of the mobile communication system in the fourthembodiment is identical to the mobile communication system 301 of thethird embodiment as shown in FIG. 7, and therefore description thereofis omitted.

[0195]FIG. 10 is a view showing the constitution of the mobile host 303used in the mobile communication system of the fourth embodiment. Themobile host 303 is provided with an application layer 331 comprising anapplication 331 a, a transport layer 333 comprising a TCP/UDP 333 a anda TCP data segment buffering space 333 c, an IP layer 335 comprising anIP 335 a, and a link layer 337 comprising a link 337 a and an interface337 b.

[0196] The TCP data segment buffering space 333 c is used for bufferingTCP data segments during a hand-off period. The TCP/UDP 333 a buffersTCP data segments into the TCP data segment buffering space 333 c. TheTCP data segment buffering period is a period which extends from apredetermined time (Tn) before the beginning of a link layer 337disconnection period required for switching connection points, when thelink layer 337 of the mobile host 303 is not connected to any externallinks, to the point at which the access router providing the newlyconnected external link becomes the default router following the end ofthe link layer 337 disconnection period. Here, the TCP/UDP 333 a detectsthe predetermined time (Tn) before the beginning of the link layer 337disconnection period by means of a signal from the interface 337 b, anddetects a change in default router by means of a signal from the IP 335a. Here, the range of the predetermined time (Tn) begins from zero.Here, the predetermined time (Tn) is preferably set equal to or greaterthan the round trip time between the mobile host and the correspondenthost, or in other words the time in which a TCP ack newly transmitted bythe correspondent host in response to the reception by the correspondenthost of the last transmitted TCP data segment prior to the beginning ofbuffering can be received via the currently connected access router.

[0197] When the connection point is switched from the access router 307to the access router 309, the interface 337 b issues a buffering commandto the TCP/UDP 333 a. Thereby, the TCP/UDP 333 a detects thepredetermined time (Tn) before the beginning of the link layer 337disconnection period. Having received the buffering command, the TCP/UDP333 a uses the TCP data segment buffering space 333 c to begin bufferingthe TCP data segments which were originally intended for transmission tothe IP 335 a.

[0198] Once the default router has been changed following a routeradvertisement received from the access router 309, the IP 335 a issues abuffering cancellation command to the TCP/UDP 333 a. Thereby, theTCP/UDP 333 a detects that the default router has changed. Havingreceived the buffering cancellation command, the TCP/UDP 333 a cancelsbuffering and transmits the TCP data segments that were buffered in theTCP data segment buffering space 333 c to the IP 335 a. As noted above,the TCP data segments transferred to the IP 335 a are transmitted viathe link 337 a to the interface 337 b, and from the interface 337 b tothe access router 309 (set as the default router) which provides thenewly connected external link.

[0199]FIG. 11 is a sequence chart for a case in which the mobile host303 hands off from the access router 307 to the access router 309 duringthe transfer of data to the correspondent host 311 using TCP. The brokenline arrows represent TCP data segments transmitted from the mobile host303 to the correspondent host 311 and TCP acks transmitted from thecorrespondent host 311 to the mobile host 303. State I to state IV andstates A, B in FIG. 11 correspond to the states I to IV and states A, Bdescribed in FIG. 20.

[0200] At a predetermined time (Tn) before moving from state I to stateII, the mobile host 303 buffers the TCP data segments to be transmitted.Then, when the mobile host 303 receives a router advertisement from theaccess router 309, thereby changing the default router from the accessrouter 307 to the access router 309 and obtaining a new care-of address,processing moves to state IV and the mobile host 303 transmits thebuffered TCP data segments.

[0201] As described above, during a hand-off between the access routers307, 309 in this fourth embodiment, the mobile host 303 buffers the TCPdata segments that were to be transmitted during the hand-off period,and when the hand-off is complete, transmits the buffered TCP datasegments. In so doing, the correspondent host 311 becomes unable toreceive TCP data segments from the mobile host 303 during the hand-offperiod of the mobile host 303. Hence the correspondent host 311 does nottransmit TCP acks. Since the correspondent host 311 does not transmitTCP acks, then naturally no TCP acks become subject to packet lossduring the hand-off of the mobile host 303. Once the mobile host 303 hascompleted the hand-off, the mobile host 303 transmits the buffered TCPdata segments again, whereby these TCP data segments are received by thecorrespondent host 311. The correspondent host 311 then transmits thecorresponding TCP acks. During the period in which the TCP data segmentsare being buffered, data transmission by the mobile host 303 is halted,but this period equals the amount of time taken for the hand-off(approximately 100 ms or less). On the other hand, the period in whichdata transfer by the mobile host 303 is halted due to the inability toobtain an opportunity to transmit the TCP data segments equals theamount of time taken for a TCP retransmit timer to expire (at least onesecond). Thus TCP throughput deterioration due to TCP data segmentbuffering is smaller than TCP throughput deterioration due to theinability to obtain an opportunity to transmit the TCP data segments.Hence a dramatic deterioration in TCP throughput during a hand-off ofthe mobile host 303 can be prevented.

[0202] Also in the fourth embodiment, the period during which the mobilehost 303 buffers TCP data segments is set as a period from apredetermined time (Tn) prior to the beginning of the link layer 337disconnection period, during which the link layer 337 of the mobile host303 is not connected to any external links in order to switch connectionpoints, to the time at which the access router 309 providing the newlyconnected external link becomes the default router following the end ofthe link layer 337 disconnection period. Hence the TCP data segmentbuffering period can be set highly appropriately so that TCP datasegments are not buffered any more than is necessary and TCP throughputdeterioration can be further prevented.

[0203] Also according to the fourth embodiment, the predetermined time(Tn) before the beginning of the link layer 337 disconnection period isdetected in the transport layer 333 (TCP/UDP 333 a) by means of a signalfrom the interface 337 b which is connected to the external link, and achange in default router is detected therein by means of a signal fromthe IP layer 335 of the mobile host 303. Thus the TCP data segmentbuffering period can be detected appropriately and easily.

[0204] (Fifth Embodiment)

[0205]FIG. 12 is a view showing the constitution of a mobilecommunication system according to a fifth embodiment. In FIG. 12, SHindicates a stationary host, MR indicates a mobile router, HA indicatesa home agent, AR indicates an access router, and CH indicates acorrespondent host.

[0206] As shown in FIG. 12, a mobile communication system 351 comprisesa mobile router 353, a stationary host 355, the home agent 305, theplurality of access routers 307, 309, the correspondent host 311, andthe IP network 313.

[0207] The mobile router 353 moves from link to link with a mobilenetwork 357 comprising the stationary host 355, and functions as agateway router for the mobile network 357. The mobile router 353 uses ahome address on a home link, and on an external link uses the homeaddress and a care-of address having a link prefix for each link. Thestationary host 355 is anode having an unchanging connectionrelationship with the mobile router 353. Note that the mobile network357 may also comprise a router or a mobile host. The home agent 305provides the mobile router 353 with a home link, and the access routersprovide the mobile router 353 with external links.

[0208] The mobile router 353 informs the home agent 305 of bindingcomprising “home address of this node and network prefixes within themobile network 357” and “care-of address obtained-by a connection link”,and the home agent 305 stores this binding. Having received a packetaddressed to the home address of the mobile router 353 or a packetaddressed to an address belonging to a network prefix within the mobilenetwork 357, the home agent 305 creates an IP packet addressed to thebound care-of address, stores this packet in a payload portion, andforwards the packet to the mobile router 353. Having received theforwarded packet, the mobile router 353 extracts the original packetfrom the payload portion, and if the packet is addressed to a hostexisting within the mobile network 357, routes the packet within themobile network 357.

[0209]FIG. 13 is a view showing the constitution of the mobile router.The mobile router is provided with an IP layer 371 comprising an IP 371a and a TCP ack buffering space 371 b, and a link layer 373 comprising afirst link 373 a, a second link 373 b, a mobile network side interface373 c, and a stationary network side interface 373 d.

[0210] Packets received from the mobile network side interface 373 c orthe stationary network side interface 373 d reach the IP 371 a throughthe first link 373 a and second link 373 b respectively. The IP 371 areferences a routing table to determine whether to transmit the packetsto the stationary network side (default router) or the mobile network357 side (stationary host 355), and transfers the packets to the secondlink 373 b or the first link 373 a in accordance with the result of thisdetermination.

[0211] The TCP ack buffering space 371 b is used for buffering TCP acksduring a hand-off period. The IP 371 a buffers TCP acks into the TCP ackbuffering space 371 b. The TCP ack buffering period is set as a periodfrom a predetermined time (Tn) prior to the beginning of a link layer(second link 373 b and stationary network side interface 373 d)disconnection period, during which the second link 373 b and stationarynetwork side interface 373 d of the link layer 373 in the mobile router353 are not connected to any external links in order to switchconnection points, to the point at which the access router 309 providinga newly connected external link becomes the default router following theend of the link layer (second link 373 b and stationary network sideinterface 373 d) disconnection period. Here, the IP 371 a detects thepredetermined time (Tn) prior to the beginning of the link layer (secondlink 373 b and stationary network side interface 373 d) disconnectionperiod by means of a signal from the stationary network side interface373 d, and detects a change in default router itself. Here, the range ofthe predetermined time (Tn) begins from zero. Here, the predeterminedtime (Tn) is preferably set equal to or greater than the round trip timebetween the stationary host and the correspondent host, or in otherwords the time in which a TCP data segment newly transmitted by thecorrespondent host in response to the reception by the correspondenthost of the last transmitted TCP ack prior to the beginning of bufferingcan be received via the currently connected access router.

[0212] The stationary network side interface 373 d issues a bufferingcommand to the IP 371 a when the connection point is changed from theaccess router 307 to the access router 309. Thereby the IP 371 a detectsthe predetermined time (Tn) prior to the beginning of the link layer(second link 373 b and stationary network side interface 373 d)disconnection period. Having received the buffering command, the IP 371a uses the TCP ack buffering space 371 b to begin buffering the TCP ackswhich were originally due to be transmitted to the second link 373 b.

[0213] Once the default router has been changed following a routeradvertisement received from the access router 309, the IP 371 a itselfdetects that the default router has changed and cancels buffering. TheIP 371 a then transmits the TCP acks that were buffered in the TCP ackbuffering space 371 b to the second link 373 b. As noted above, the TCPacks transferred to the second link 373 b are transmitted from thestationary network side interface 373 b to the access router 309 (set asthe default router) providing the newly connected external link.

[0214]FIG. 14 is a sequence chart for a case in which the mobile router353 hands off from the access router 307 to the access router 309 whilethe stationary host 355 in the mobile network 357 is in reception ofdata transfer using TCP from the correspondent host 311. The broken linearrows represent TCP data segments transmitted to the stationary host355 by the correspondent host 311 and TCP acks transmitted to thecorrespondent host 311 by the stationary host 355. State I to state IVand states A, B in FIG. 14 correspond to the states I to IV and statesA, B described in FIG. 22.

[0215] At a predetermined time (Tn) before moving from state I to stateII, the mobile router 353 buffers the TCP acks to be routed to thestationary network side. Then, when the mobile router 353 receives arouter advertisement from the access router 309, thereby changing thedefault router from the access router 307 to the access router 309 andobtaining a new care-of address, processing moves to state IV and themobile router 353 routes the buffered TCP acks.

[0216] Note that when the mobile router 353 obtains a new care-ofaddress for use on an external link, the mobile router 353 transmits apacket containing a binding update option to the home agent 305. Havingreceived the binding update packet, the home agent 305 stores thebinding (the correspondence between the home address and care-of addressof the mobile router 353) and transmits a packet containing a bindingacknowledgement option to the mobile router 353 as a confirmationresponse.

[0217] As described above, during a hand-off between the access routers307, 309 in this fifth embodiment, the mobile router 353 buffers the TCPacks that were to be routed to the stationary network side during thehand-off period, and when the hand-off is complete, routes the bufferedTCP acks. In so doing, the correspondent host 311 becomes unable toreceive TCP acks from the stationary host 355 during the hand-off periodby the mobile router 353. The correspondent host 311 therefore withholdstransmission of the next TCP data segment. If the correspondent host 311does not transmit TCP data segments, then naturally no TCP data segmentsbecome subject to packet loss during the hand-off by the mobile router353. Once the mobile router 353 has completed the hand-off, the mobilerouter 353 routes the buffered TCP acks again, whereby these TCP acksare received by the correspondent host 311. The correspondent host 311then restarts transmission of the next TCP data segment. During theperiod in which the TCP acks are being buffered, data transfer by thecorrespondent host 311 is halted, but this period equals the amount oftime taken for the hand-off (approximately 100 ms or less). On the otherhand, the period in which data transfer by the correspondent host 311 ishalted due to successive TCP data segment loss equals the amount of timetaken for a TCP retransmit timer to expire (at least one second). ThusTCP throughput deterioration due to TCP ack buffering is smaller thanTCP throughput deterioration due to successive TCP data segment loss.Hence a dramatic deterioration in TCP throughput during a hand-off ofthe mobile router 353 can be prevented.

[0218] Further, in the fifth embodiment the TCP ack buffering period bythe mobile router 353 is set as a period from a predetermined time (Tn)prior to the beginning of the link layer (second link 373 b andstationary network side interface 373 d) disconnection period, duringwhich the second link 373 b and stationary network side interface 373 dof the link layer 373 in the mobile router 353 are not connected to anyexternal links in order to switch connection points, to the time atwhich the access router 309 providing the newly connected external linkbecomes the default router following the end of the link layer (secondlink 373 b and stationary network side interface 373 d) disconnectionperiod. Hence the TCP ack buffering period can be set highlyappropriately so that TCP acks are not buffered any more than isnecessary and TCP throughput deterioration can be further prevented.

[0219] Also according to the fifth embodiment, the predetermined time(Tn) prior to the beginning of a link layer (second link 373 b andstationary network side interface 373 d) disconnection period isdetected in the IP layer 371 (IP 371 a) by means of a signal from thestationary network side interface 373 d which is connected to theexternal link, and a change in default router is detected by the IP 371a itself. Thus the TCP ack buffering period can be detectedappropriately and easily.

[0220] Note that when a TCP ack is buffered, TCP ack buffering isperformed for each TCP connection, and when, for each TCP connection, anewly buffered TCP ack is in respect of a TCP data segment with a largersequence number than the currently buffered TCP ack, the currentlybuffered TCP ack may be replaced by the newly buffered TCP ack. A TCPack informs the transmission side host of the largest TCP data segmentsequence number received up to that point by the reception side host,and therefore when two TCP acks have different sequence numbers, the TCPack for notifying the larger sequence number doubles as receptionconfirmation for the TCP data segments up to the smaller sequencenumber. In other words, by replacing a currently buffered TCP ack when alater TCP ack is to notify a larger sequence number than the currentlybuffered TCP ack, the TCP ack buffering space 371 b can be economized.

[0221] (Sixth Embodiment)

[0222] The constitution of the mobile communication system in the sixthembodiment is identical to the mobile communication system 351 of thefifth embodiment as shown in FIG. 12, and therefore description thereofis omitted.

[0223]FIG. 15 is a view showing the constitution of the mobile router353 used in the mobile communication system of the sixth embodiment. AnIP layer 371 comprising an IP 371 a and a TCP data segment bufferingspace 371 c, and a link layer 373 comprising a first link 373 a, asecond link 373 b, a mobile network side interface 373 c, and astationary network side interface 373 d are provided.

[0224] The TCP data segment buffering space 371 c is used for bufferingTCP data segments during a hand-off period. The IP 371 a buffers TCPdata segments into the TCP data segment buffering space 371 c. The TCPdata segment buffering period is set as a period from a predeterminedtime (Tn) prior to the beginning of a link layer (second link 373 b andstationary network side interface 373 d) disconnection period, duringwhich the second link 373 b and stationary network side interface 373 dof the link layer 373 in the mobile router 353 are not connected to anyexternal links in order to switch connection points, to the time atwhich the access router 309 providing a newly connected external linkbecomes the default router following the end of the link layer (secondlink 373 b and stationary network side interface 373 d) disconnectionperiod. Here, the IP 371 a detects the predetermined time (Tn) prior tothe beginning of the link layer (second link 373 b and stationarynetwork side interface 373 d) disconnection period by means of a signalfrom the stationary network side interface 373 d, and detects a changein default router itself. Here, the range of the predetermined time (Tn)begins from zero. Here, the predetermined time (Tn) is preferably setequal to or greater than the round trip time between the stationary hostand the correspondent host, or in other words the time in which a TCPack newly transmitted by the correspondent host in response to thereception by the correspondent host of the last transmitted TCP datasegment prior to the beginning of buffering can be received via thecurrently connected access router.

[0225] The stationary network side interface 373 d issues a bufferingcommand to the IP 371 a when the connection point is changed from theaccess router 307 to the access router 309. Thereby the IP 371 a detectsthe predetermined time (Tn) prior to the beginning of the link layer(second link 373 b and stationary network side interface 373 d)disconnection period. Having received the buffering command, the IP 371a uses the TCP data segment buffering space 371 c to begin buffering theTCP data segments which were originally due to be transmitted to thesecond link 373 b.

[0226] Once the default router has been changed following a routeradvertisement received from the access router 309, the IP 371 a itselfdetects that the default router has changed and cancels buffering. TheIP 371 a then transmits the TCP data segments that were buffered in theTCP data segment buffering space 371 c to the second link 373 b. Asnoted above, the TCP data segments transferred to the second link 373 bare transmitted from the stationary network side interface 373 d to theaccess router 309 (set as the default router) providing the newlyconnected external link.

[0227]FIG. 16 is a sequence chart for a case in which the mobile router353 hands off from the access router 307 to the access router 309 whilethe stationary host 355 in the mobile network 357 performs data transferusing TCP to the correspondent host 311. The broken line arrowsrepresent TCP data segments transmitted from the stationary host 355 tothe correspondent host 311 and TCP acks transmitted from thecorrespondent host 311 to the stationary host 355. State I to state IVand states A, B in FIG. 16 correspond to the states I to IV and statesA, B described in FIG. 22.

[0228] At a predetermined time (Tn) before moving from state I to stateII, the mobile router 353 buffers the TCP data segments to be routed tothe stationary network side. Then, when the mobile router 353 receives arouter advertisement from the access router 309, thereby changing thedefault router from the access router 307 to the access router 309 andobtaining a new care-of address, processing moves to state IV and themobile router 353 routes the buffered TCP data segments.

[0229] As described above, during a hand-off between the access routers307, 309 in this sixth embodiment, the mobile router 353 buffers the TCPdata segments that were to be routed to the stationary network sideduring the hand-off period, and when the hand-off is complete, routesthe buffered TCP data segments. In so doing, the correspondent host 311becomes unable to receive TCP data segments from the stationary host 355during the hand-off by the mobile router 353, and hence thecorrespondent host 311 does not transmit TCP acks. Since thecorrespondent host 311 does not transmit TCP acks, then naturally no TCPacks become subject to packet loss during the hand-off by the mobilerouter 353. Once the mobile router 353 has completed the hand-off, themobile router 353 routes the buffered TCP data segments again, wherebythese TCP data segments are received by the correspondent host 311. Thecorrespondent host 311 then transmits the corresponding TCP acks. Duringthe period in which the TCP data segments are being buffered, datatransfer by the stationary host 355 is halted, but this period equalsthe amount of time taken for the hand-off (approximately 100 ms orless). On the other hand, the period in which data transfer by thestationary host 355 is halted due to the inability to obtain anopportunity to transmit the TCP data segments equals the amount of timetaken for a TCP retransmit timer to expire (at least one second). ThusTCP throughput deterioration due to TCP data segment buffering by themobile router 353 is smaller than TCP throughput deterioration due tothe inability of the stationary host 355 to obtain an opportunity totransmit the TCP data segments. Hence a dramatic deterioration in TCPthroughput during a hand-off of the mobile router 353 can be prevented.

[0230] Further, in the sixth embodiment the TCP data segment bufferingperiod by the mobile router 353 is set as a period from a predeterminedtime (Tn) prior to the beginning of the link layer (second link 373 band stationary network side interface 373 d) disconnection period,during which the second link 373 b and stationary network side interface373 d of the link layer 373 in the mobile router 353 are not connectedto any external links in order to switch connection points, to the timeat which the access router 309 providing the newly connected externallink becomes the default router following the end of the link layer(second link 373 b and stationary network side interface 373 d)disconnection period. Hence the TCP data segment buffering period can beset highly appropriately so that TCP data segments are not buffered anymore than is necessary and TCP throughput deterioration can be furtherprevented.

[0231] Also according to the sixth embodiment, the predetermined time(Tn) prior to the beginning of a link layer (second link 373 b andstationary network side interface 373 d) disconnection period isdetected in the IP layer 371 (IP 371 a) by means of a signal from thestationary network side interface 373 d which is connected to anexternal link, and a change in default router is detected by the IP 371a itself. Thus the TCP data segment buffering period can be detectedappropriately and easily.

[0232] Next, a communication control program according to an embodimentof the present invention will be described. In order to transmit apacket, the communication control program causes a computer to functionas means for buffering the packet during a hand-off period andtransmitting the buffered packet when the hand-off is complete. Thecommunication control program is recorded in a computer readablerecording medium, for example. Here, a recording medium is an objectwhich is capable of altering the state of energy such as magnetism,light, or electricity in accordance with the descriptive content of aprogram for a reading device installed in the hardware resources of acomputer to thereby transmit the descriptive content of the program tothe reading device in a corresponding signal format. This recordingmedium may be, for example, a magnetic disk, an optical disk, a CD-ROM,or memory installed in a computer.

[0233] As shown in FIG. 17, the recording medium 81 comprises a programregion 83 for recording a program. The communication control program 85is recorded in this program region. The communication control programcomprises a main module 85 a for controlling processing and a packetbuffering control module 85 b for buffering a packet during a hand-offperiod of a mobile node and transmitting the buffered packet when thehand-off is complete.

[0234] By executing this communication control program, the computerfunctions as the mobile host 3 of the aforementioned first embodiment orthe mobile router 53 of the aforementioned second embodiment. Thuspackets which were to be transmitted during a hand-off period are nottransmitted but are buffered during this hand-off period, and when thehand-off is complete, the buffered packets are transmitted. As a result,packet loss during a hand-off period can be prevented.

[0235] Finally, another communication control program according to anembodiment of the present invention will be described. In order toreceive a TCP data segment and transmit a TCP ack in respect of this TCPdata segment, this communication control program causes a computer tofunction as means for buffering a TCP ack during a hand-off period andtransmitting the buffered TCP ack when the hand-off is complete.Further, in order to transmit a TCP data segment, the communicationcontrol program may also cause a computer to function as means forbuffering a TCP data segment during a hand-off period and transmittingthe buffered TCP data segment when the hand-off is complete. Thecommunication control program is recorded in a computer readablerecording medium, for example. Here, a recording medium is an objectwhich is capable of altering the state of energy such as magnetism,light, or electricity in accordance with the descriptive content of aprogram for a reading device installed in the hardware resources of acomputer to thereby transmit the descriptive content of the program tothe reading device in a corresponding signal format. This recordingmedium may be, for example, a magnetic disk, an optical disk, a CD-ROM,or memory installed in a computer.

[0236] As shown in FIG. 18, the recording medium 881 comprises a programregion 883 for recording a program. The communication control program885 is recorded in this program region. The communication controlprogram comprises a main module 885 a for controlling processing and abuffering control module 885 b for buffering a TCP ack during a hand-offperiod of a mobile node and transmitting the buffered TCP ack when thehand-off is complete. The buffering control module 885 b may also beused when a mobile node transmits a TCP data segment for causing acomputer to buffer the TCP data segment during a hand-off period andtransmit the buffered TCP data segment when the hand-off is complete.

[0237] By executing this communication control program, the computerfunctions as the mobile host 303 of the aforementioned third and fourthembodiments or the mobile router 353 of the aforementioned fifth andsixth embodiments. Thus a dramatic deterioration in the TCP throughputduring a hand-off by the mobile router 353 and the mobile host 303 canbe prevented.

[0238] From the invention thus described, it will be obvious that theinvention may be varied in many ways. Such variations are not to beregarded as a departure from the spirit and scope of the invention, andall such modifications as would be obvious to one skilled in the art areintended for inclusion within the scope of the following claims.

[0239] The basic Japanese Applications No. 2002-68918 filed on Mar. 13,2002 and No. 2002-68932 filed on Mar. 13, 2002 are hereby incorporatedby reference.

What is claimed is:
 1. A mobile node for transmitting a packet,comprising means for buffering the packet during a hand-off period andtransmitting the buffered packet when the hand-off is complete, whereinsaid means determines the period during which the packet is buffered onthe basis of the connection status of the link layer of the mobile node.2. The mobile node according to claim 1, wherein the period during whichthe packet is buffered by said means is a period from a predeterminedtime before the beginning of a link layer disconnection period duringwhich the link layer of said mobile node is not connected to any linksin order to switch connection points to a point following the end of thelink layer disconnection period at which the access router providing thenewly connected link becomes the default router.
 3. The mobile nodeaccording to claim 2, wherein said means detects the predetermined timebefore the beginning of the link layer disconnection period by a signalfrom an interface which is connected to the link, and said means detectsa change in the default router by a signal from the IP layer of saidmobile node.
 4. The mobile node according to claims 1, wherein saidmeans does not buffer a router solicitation for requesting transmissionof a router advertisement from the access router.
 5. The mobile nodeaccording to claim 1, wherein said mobile node transmits at least one ofa TCP data segment and a TCP acknowledgement signal corresponding to aTCP data segment, and said means buffers the one during the hand-offperiod and transmits the buffered one when the hand-off is complete. 6.The mobile node according to claims 5, wherein the one is the TCPacknowledgement signal, said means performs buffering of the TCPacknowledgement signal for each TCP connection, and when, for each saidTCP connection, a newly buffered TCP acknowledgement signal correspondsto a TCP data segment with a larger sequence number than a currentlybuffered TCP acknowledgement signal, the currently buffered TCPacknowledgement signal is replaced by the newly buffered TCPacknowledgement signal.
 7. A mobile communication system comprising amobile node for transmitting a packet and a plurality of access routersfor providing said mobile node with an link, wherein said mobile nodecomprises means for buffering the packet during the hand-off period andtransmitting the buffered packet to the access router providing thenewly connected link when the hand-off is complete, and said meansdetermines the period during which the packet is buffered on the basisof the connection status of the link layer of the mobile node.
 8. Acommunication control program which, in order to transmit a packet,causes a computer to function as means for buffering the packet during ahand-off period and transmitting the buffered packet when the hand-offis complete, wherein said means is caused to determine the period duringwhich the packet is buffered on the basis of the connection status ofthe link layer of the mobile node.
 9. The communication control programaccording to claim 8, wherein the period during which the packet isbuffered by said means is a period from a predetermined time before thebeginning of a link layer disconnection period during which the linklayer of said mobile node is not connected to any links in order toswitch connection points to a point following the end of the link layerdisconnection period at which the access router providing the newlyconnected link becomes the default router.
 10. The communication controlprogram according to claim 9, wherein said means is caused to detect thebeginning of the link layer disconnection period by a signal from aninterface which is connected to the link, and is caused to detect thechange in the default router by a signal from the IP layer of saidmobile node.
 11. The communication control program according to claims8, wherein said means is caused not to buffer a router solicitation forrequesting transmission of a router advertisement from the accessrouter.
 12. The communication control program according to claim 8,wherein, in order to transmit at least one of a TCP data segment and aTCP acknowledgement signal corresponding to a TCP data segment, thecomputer is caused to function as means for buffering the one during thehand-off period and for transmitting the buffered one when the hand-offis complete.
 13. The communication control program according to claims12, wherein the one is the TCP acknowledgement signal, said means iscaused to perform buffering of the TCP acknowledgement signal for eachTCP connection, and when, for each said TCP connection, a newly bufferedTCP acknowledgement signal corresponds to a TCP data segment with alarger sequence number than a currently buffered TCP acknowledgementsignal, the currently buffered TCP acknowledgement signal is replaced bythe newly buffered TCP acknowledgement signal.